Emmanuele Bassi [Mon, 30 Nov 2020 13:10:25 +0000 (13:10 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Blend nodes might have NULL top/bottom nodes
See merge request GNOME/gtk!2891
Piotr Drąg [Sun, 29 Nov 2020 11:11:26 +0000 (12:11 +0100)]
Update Polish translation
Yuri Chornoivan [Sun, 29 Nov 2020 07:53:56 +0000 (07:53 +0000)]
Update Ukrainian translation
Аляксей [Sat, 28 Nov 2020 14:30:43 +0000 (14:30 +0000)]
Update Belarusian translation
Jakub Steiner [Fri, 27 Nov 2020 18:14:09 +0000 (18:14 +0000)]
Merge branch 'wip/jimmac/dark-prelights' into 'master'
wip/jimmac/dark prelights
Closes #3380
See merge request GNOME/gtk!2892
Jakub Steiner [Fri, 20 Nov 2020 10:26:13 +0000 (11:26 +0100)]
Adwaita,HC: use dark prelights
- increase :hover visibility by going darker rather than lighter
puppies died.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3380
Anders Jonsson [Fri, 27 Nov 2020 13:35:03 +0000 (13:35 +0000)]
Update Swedish translation
Anders Jonsson [Fri, 27 Nov 2020 13:31:30 +0000 (13:31 +0000)]
Update Swedish translation
Emmanuele Bassi [Thu, 26 Nov 2020 00:21:11 +0000 (00:21 +0000)]
Blend nodes might have NULL top/bottom nodes
We have code in place to handle a NULL node in the state when dealing
with blend nodes, but we don't always check for NULL, which leads to
warnings in the CSS Blend modes demo.
Matthias Clasen [Wed, 25 Nov 2020 18:59:16 +0000 (13:59 -0500)]
popover: Fix a typo
s/Wether/Whether/
Fixes #3393
Emmanuele Bassi [Wed, 25 Nov 2020 18:43:53 +0000 (18:43 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
Closes #3404 and #3403
See merge request GNOME/gtk!2890
Emmanuele Bassi [Wed, 25 Nov 2020 18:15:04 +0000 (18:15 +0000)]
a11y: Check before disconnecting Text signals
Use the same initial check for the accessible object type that we use
when connecting the signal, in case we try to disconnect signals on
different widgets. Additionally, check before accessing data that might
have already been removed.
Fixes: #3403
Emmanuele Bassi [Wed, 25 Nov 2020 18:13:54 +0000 (18:13 +0000)]
a11y: Check before disconnecting selection signals
If the selection data has already been cleared we should just bail out.
Fixes: #3404
Jakub Steiner [Wed, 25 Nov 2020 13:42:55 +0000 (13:42 +0000)]
Merge branch 'wip/jimmac/menus-darker' into 'master'
Adwaita: darker selected menuitem + sidebars
Closes #3390
See merge request GNOME/gtk!2881
Jordi Mas i Hernandez [Wed, 25 Nov 2020 13:42:11 +0000 (13:42 +0000)]
Update Catalan translation
Jakub Steiner [Mon, 23 Nov 2020 14:46:44 +0000 (15:46 +0100)]
Adwaita: darker selected menuitem + sidebars
- without sacrificing the fg/bg contrast too much, increase
selected item visibility
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3390
Matthias Clasen [Tue, 24 Nov 2020 17:14:53 +0000 (17:14 +0000)]
Merge branch 'wip/chergert/for-master' into 'master'
textview: fix precondition assertions
Closes #3386
See merge request GNOME/gtk!2886
Christian Hergert [Tue, 24 Nov 2020 16:29:52 +0000 (08:29 -0800)]
textview: fix precondition assertions
It is a programmer error to call this with a child widget that has not
been placed within the GtkTextView.
Fixes #3386
Matthias Clasen [Tue, 24 Nov 2020 16:22:49 +0000 (16:22 +0000)]
Merge branch 'fix-integer-overflow' into 'master'
gdk/win32: fix integer overflow in monitor refresh rate calculation
Closes #3394
See merge request GNOME/gtk!2884
Anders Jonsson [Mon, 23 Nov 2020 22:09:28 +0000 (22:09 +0000)]
Update Swedish translation
Volker Rümelin [Mon, 23 Nov 2020 20:34:01 +0000 (21:34 +0100)]
gdk/win32: fix integer overflow in monitor refresh rate calculation
In gdk/win32/gdkmonitor-win32.c in function
populate_monitor_devices_from_display_config() refresh->Numerator * 1000
overflows for refresh->Numerator >
4294976.
Cast the factor 1000 to UINT64 to prevent the overflow.
Fixes #3394
Matthias Clasen [Mon, 23 Nov 2020 19:01:44 +0000 (19:01 +0000)]
Merge branch 'no-more-devel-headers' into 'master'
Drop devel styling from our windows
See merge request GNOME/gtk!2882
Matthias Clasen [Mon, 23 Nov 2020 17:10:01 +0000 (12:10 -0500)]
Drop devel styling from our windows
We are about to do a stable release. Time to get used
again to plain old, boring header bars.
Emmanuele Bassi [Mon, 23 Nov 2020 15:41:03 +0000 (15:41 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2876
Emmanuele Bassi [Sun, 22 Nov 2020 18:40:50 +0000 (18:40 +0000)]
a11y: Cache the accessibility bus address
Just check for it once; doing it every time we failed to create an
ATContext is just going to fill up the logs.
Emmanuele Bassi [Sun, 22 Nov 2020 18:39:39 +0000 (18:39 +0000)]
a11y: Turn critical warnings into debug messages
The accessibility bus might not be available, and if it isn't the case,
it means something has failed at a level where the user can't do much
about it. There's no need to emit a critical warning.
Emmanuele Bassi [Mon, 23 Nov 2020 14:33:20 +0000 (14:33 +0000)]
Merge branch 'ebassi/glib-min-version' into 'master'
Ebassi/glib min version
See merge request GNOME/gtk!2880
Emmanuele Bassi [Mon, 23 Nov 2020 12:55:05 +0000 (12:55 +0000)]
Disable deprecation warnings from GLib
We don't want to test the latest changes in GLib in our own build.
Emmanuele Bassi [Mon, 23 Nov 2020 12:56:42 +0000 (12:56 +0000)]
Drop redundant dependencies
PangoCairo already depends on Pango; Cairo-gobject already depends on
Cairo.
Emmanuele Bassi [Mon, 23 Nov 2020 12:29:32 +0000 (12:29 +0000)]
Drop GLib dependency from GTK's declared dependencies
We depend on GObject, which already depends on GLib; on older versions
of Meson, this ends up trying to depend on the system copy of GLib,
instead of the sub-project copy, in case the version of GLib we have
installed is too old.
Emmanuele Bassi [Mon, 23 Nov 2020 11:47:21 +0000 (11:47 +0000)]
Use the right GLib macros for version checking
There's a typo in the name, and we never noticed.
Emmanuele Bassi [Mon, 23 Nov 2020 12:02:21 +0000 (12:02 +0000)]
Do not depend on GLib API introduced after 2.66
To avoid bleeding edge deprecations we use GLIB_VERSION_MIN_REQUIRED and
GLIB_VERSION_MAX_ALLOWED. Since we depend on GLib 2.66, we cannot use
API introduced in 2.67, even when conditionally compiled.
nana-4 [Sun, 22 Nov 2020 04:54:44 +0000 (13:54 +0900)]
icon-browser: Add .sidebar style class in the main window
So the sidebar can get the proper background and border colors.
nana-4 [Sun, 22 Nov 2020 04:51:15 +0000 (13:51 +0900)]
gtk-demo: Add .sidebar style class in the main window
So the sidebar can get the proper background and border colors.
nana-4 [Sun, 22 Nov 2020 05:22:39 +0000 (14:22 +0900)]
Adwaita: Unify sidebar background-color
The sidebar item style is already unified. The sidebar background-color
should be unified as well.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
nana-4 [Sun, 22 Nov 2020 03:59:28 +0000 (12:59 +0900)]
Adwaita: Make sidebar row styling better
- Reorder declaration blocks for code legibility.
- Don't lighten text color on :hover and :selected for better contrast.
- Add missing :focus-visible:focus-within styling to non-:selected row.
nana-4 [Sun, 22 Nov 2020 03:24:04 +0000 (12:24 +0900)]
Adwaita: Fix some sidebar sizing
- Don't set the sidebar padding twice.
- Add padding to the assistant sidebar directly, as it doesn't have
.navigation-sidebar internally.
- Set missing margin to the sidebar separator.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
nana-4 [Sun, 22 Nov 2020 03:14:34 +0000 (12:14 +0900)]
Adwaita: Move placessidebar-specific sizing from .navigation-sidebar
The common .navigation-sidebar styling should be more generic.
nana-4 [Sun, 22 Nov 2020 03:08:39 +0000 (12:08 +0900)]
Adwaita: Make treeexpander styling generic
The widget can be used outside .navigation-sidebar.
This also fixes the label misalignment in the widget.
nana-4 [Sun, 22 Nov 2020 04:36:54 +0000 (13:36 +0900)]
stacksidebar: Add missing .navigation-sidebar to the inner list
Also don't set :show-separators, which is not applied in other sidebars.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
Timm Bäder [Mon, 23 Nov 2020 07:38:17 +0000 (07:38 +0000)]
Merge branch 'scalebutton' into 'master'
properly set ScaleButton's parent_class
Closes #3381
See merge request GNOME/gtk!2877
Bilal Elmoussaoui [Mon, 23 Nov 2020 01:47:03 +0000 (02:47 +0100)]
properly set ScaleButton's parent_class
GtkScaleButton doesn't subclass GtkButton anymore
Fixes #3381
Emmanuele Bassi [Sat, 21 Nov 2020 16:11:34 +0000 (16:11 +0000)]
Merge branch 'nullables-1' into 'master'
Fix some nullable return annotations
See merge request GNOME/gtk!2873
Sophie Herold [Sat, 21 Nov 2020 15:33:40 +0000 (16:33 +0100)]
Fix some nullable return annotations
Piotr Drąg [Sat, 21 Nov 2020 13:39:17 +0000 (14:39 +0100)]
Update POTFILES.skip
Jakub Steiner [Fri, 20 Nov 2020 12:37:49 +0000 (12:37 +0000)]
Merge branch 'wip/jimmac/clipped-menu-shadows' into 'master'
Adwaita: avoid clipping menu shadows
Closes #1987
See merge request GNOME/gtk!2872
Jakub Steiner [Fri, 20 Nov 2020 12:23:29 +0000 (13:23 +0100)]
Revert "Adwaita: unified sidebar styles"
Doing the same mistake twice :( Even margin is eating from the container,
not expanding outside of it.
This reverts commit
6be575992f8e5b30dc8b8f2794e6a02941dc0031.
Jakub Steiner [Fri, 20 Nov 2020 12:08:59 +0000 (12:08 +0000)]
Merge branch 'wip/jimmac/sidebar-backdrop' into 'master'
Adwaita: don't backdrop labels
Closes #3377
See merge request GNOME/gtk!2868
Jakub Steiner [Fri, 20 Nov 2020 12:04:04 +0000 (13:04 +0100)]
Adwaita: avoid clipping menu shadows
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1987
Jakub Steiner [Fri, 20 Nov 2020 11:40:30 +0000 (11:40 +0000)]
Merge branch 'wip/jimmac/unified-sidebar-styles' into 'master'
Adwaita: unified sidebar styles
Closes #3382
See merge request GNOME/gtk!2871
Jakub Steiner [Fri, 20 Nov 2020 10:26:13 +0000 (11:26 +0100)]
Adwaita: unified sidebar styles
- stacksidebar focus, separation and color as everything else
- eliminate placessidebar double padding
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
Jakub Steiner [Thu, 19 Nov 2020 16:03:43 +0000 (17:03 +0100)]
Adwaita: don't backdrop labels
- instead of overriding :backdrop for sidebars, continue pursuing
not to backdrop anything but headerbar items and buttons.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3377
Matthias Clasen [Fri, 20 Nov 2020 02:02:10 +0000 (02:02 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2870
Matthias Clasen [Fri, 20 Nov 2020 01:46:03 +0000 (01:46 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'
gtk/main: Do not unset active state on button release w/o implicit grab
See merge request GNOME/gtk!2869
Matthias Clasen [Thu, 19 Nov 2020 12:30:30 +0000 (07:30 -0500)]
gtk-demo: Make a more interesting constraints demo
Show various ways to influence spacing. This is more or
less modeled on the way Androids constraint layout lets
you set up 'chains'.
Carlos Garnacho [Thu, 19 Nov 2020 19:12:58 +0000 (20:12 +0100)]
gtk/main: Do not unset active state on button release w/o implicit grab
If an active grab gets undone on button press (e.g. closing a menu), we
will receive a button release on the new target even though it didn't handle
the button press, and disable ::active state.
This causes warnings when handling the button release, as it tries to undo
::active state that is not really there.
In order to fix this, check that the pointer focus actually had an implicit
grab at the time of receiving the button release, before trying to unset
the ::active state.
Emmanuele Bassi [Thu, 19 Nov 2020 16:37:58 +0000 (16:37 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2867
Matthias Clasen [Thu, 19 Nov 2020 16:05:47 +0000 (16:05 +0000)]
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
GTK4: various fixes
See merge request GNOME/gtk!2864
Jakub Steiner [Thu, 19 Nov 2020 15:52:25 +0000 (15:52 +0000)]
Merge branch 'wip/jimmac/industrial-style-menuitems' into 'master'
Adwaita: revert edge-to-edge menuitems
Closes #3366
See merge request GNOME/gtk!2866
Emmanuele Bassi [Thu, 19 Nov 2020 14:47:16 +0000 (14:47 +0000)]
a11y: Hide children of GtkFishBowl
The fishbowl widget is purely presentational, and its children should
not be visible in the accessibility tree.
Emmanuele Bassi [Thu, 19 Nov 2020 12:16:26 +0000 (12:16 +0000)]
demo: Make GtkFishBowl a presentation widget
It has no accessible content, even if it displays widgets.
Emmanuele Bassi [Thu, 19 Nov 2020 14:46:01 +0000 (14:46 +0000)]
a11y: Skip atspi.Cache signals for hidden elements
If the accessible object is hidden, we can skip the emission of the
AddAccessible and RemoveAccessible signals on the cache, as those
objects won't be visible in the accessibility tree.
Emmanuele Bassi [Thu, 19 Nov 2020 14:27:30 +0000 (14:27 +0000)]
a11y: Get the accessible role once
Simplify getting the accessible role when checking if an accessible
implementation should present itself; this avoids going through
GtkAccessible twice to get the same data.
Emmanuele Bassi [Thu, 19 Nov 2020 14:25:35 +0000 (14:25 +0000)]
a11y: Remove weak ref from atspi.Cache
The GtkAtSpiContext is responsible for removing itself from the root,
which will remove itself from the cache. Any code path that leads to the
GtkAtSpiContext instance being collected passes through the
unrealization phase, which will also unregister the context from the
accessibility bus and from the cache.
Emmanuele Bassi [Thu, 19 Nov 2020 14:24:47 +0000 (14:24 +0000)]
a11y: Add a fallback for the root base path
In case g_get_prgname() returns NULL, which seems to be the case for the
GTK tests.
Emmanuele Bassi [Thu, 19 Nov 2020 14:24:00 +0000 (14:24 +0000)]
a11y: Reuse the generated AT-SPI interface name
We already have the name available.
Emmanuele Bassi [Thu, 19 Nov 2020 12:14:55 +0000 (12:14 +0000)]
a11y: Use the appropriate GVariant for cache signals
We need to wrap the argument for AddAccessible and RemoveAccessible into
a tuple, as that's what GDBus expects.
Jakub Steiner [Tue, 17 Nov 2020 00:07:24 +0000 (01:07 +0100)]
Adwaita: revert edge-to-edge menuitems
- use the old Industrial style menuitems to make the design feel purposeful
- adjust corners to have compatible border-radii of child elements
- include sidebars and navigation sidebars to look consistent
(plus the assistant sidebar)
Implements https://gitlab.gnome.org/GNOME/gtk/-/issues/3366
Christian Hergert [Thu, 19 Nov 2020 01:02:27 +0000 (17:02 -0800)]
gl: add some debugging information to DEBUG_OPS
Christian Hergert [Thu, 19 Nov 2020 04:06:38 +0000 (20:06 -0800)]
lpr: fix cast warning
Christian Hergert [Thu, 19 Nov 2020 03:56:51 +0000 (19:56 -0800)]
macos: fix various compiler warnings
Christian Hergert [Wed, 18 Nov 2020 04:11:18 +0000 (20:11 -0800)]
gl: use glFramebufferTexture2D to set framebuffer texture
When mapping a texture to the framebuffer, we can use the 2D
form instead of the cube mapping form.
Matthias Clasen [Wed, 18 Nov 2020 23:35:56 +0000 (18:35 -0500)]
gtk-demo: Rename some demos
This is just to make it easier for myself to
find the right sources.
Matthias Clasen [Wed, 18 Nov 2020 23:18:31 +0000 (18:18 -0500)]
docs: Update GtkSensitivityType docs
Don't talk about steppers here, since we are only using
this type for combobox buttons nowadays.
Matthias Clasen [Wed, 18 Nov 2020 22:27:13 +0000 (17:27 -0500)]
scrollbar: Don't talk about steppers
There steppers were lost on the way from GtkRange
to GtkScrollbar, so don't talk about them in the docs.
Matthias Clasen [Wed, 18 Nov 2020 15:48:01 +0000 (10:48 -0500)]
gtk-demo: Add more keywords
Add GtkShortcutController as a keyword to some demos that
show its use.
Matthias Clasen [Wed, 18 Nov 2020 14:23:56 +0000 (14:23 +0000)]
Merge branch 'wayland-minimize' into 'master'
wayland: Implement minimization
Closes #2688
See merge request GNOME/gtk!2861
Matthias Clasen [Wed, 18 Nov 2020 12:19:07 +0000 (12:19 +0000)]
Merge branch 'constraint-editor-work' into 'master'
Constraint editor work
See merge request GNOME/gtk!2863
Matthias Clasen [Wed, 18 Nov 2020 04:15:51 +0000 (23:15 -0500)]
constraint-editor: Fix creating constant constraints
We were not making the button sensitive in the case
of a constant constraint, and we were not properly
creating constant constraints either.
Matthias Clasen [Wed, 18 Nov 2020 04:14:29 +0000 (23:14 -0500)]
constraint-editor: Fix saving of constraints
g_file_replace_contents take a gsize, so passing -1
for string length does not work here.
Matthias Clasen [Wed, 18 Nov 2020 04:11:16 +0000 (23:11 -0500)]
constraintlayout: Fix parsing of constant constraints
We were inadvertently turning constant constraints into
constraints against super, due to confusion between target
and source attribute.
Matthias Clasen [Wed, 18 Nov 2020 03:04:01 +0000 (03:04 +0000)]
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
macos: fix rendering artifacts with hover transitions
See merge request GNOME/gtk!2862
Matthias Clasen [Wed, 18 Nov 2020 02:52:15 +0000 (21:52 -0500)]
constraint-editor: Improve display of constraints
No need to go for ALGOL60 style operators when we
have Unicode.
Christian Hergert [Wed, 18 Nov 2020 02:20:55 +0000 (18:20 -0800)]
macos: fix rendering artifacts with hover transitions
Using an image surface seems to fix some rendering artifacts when
performing cross-fade CSS transitions.
Matthias Clasen [Wed, 18 Nov 2020 00:57:56 +0000 (19:57 -0500)]
wayland: Implement minimization
Use the set_minimized method of the xdg_toplevel
interface to implement minimization as well as possible.
It is not possible, since there is no corresponding
state that we could use to update our surface state,
but in practice, it works well enough.
Fixes: #2688
Matthias Clasen [Wed, 18 Nov 2020 00:13:17 +0000 (00:13 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'
gdk/wayland: Update to gtk_shell1 version 3
See merge request GNOME/gtk!2860
Carlos Garnacho [Tue, 17 Nov 2020 23:38:15 +0000 (00:38 +0100)]
gdk/wayland: Update to gtk_shell1 version 3
Bring in line with gtk3, in terms of startup notification and
activation support.
Matthias Clasen [Tue, 17 Nov 2020 22:49:05 +0000 (22:49 +0000)]
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
node-editor: fix length of text during save
See merge request GNOME/gtk!2859
Matthias Clasen [Tue, 17 Nov 2020 22:46:43 +0000 (22:46 +0000)]
Merge branch 'fix-doc-packtype' into 'master'
doc: Adapt GtkPackType documentation to GTK4 changes
See merge request GNOME/gtk!2858
Christian Hergert [Tue, 17 Nov 2020 22:34:11 +0000 (14:34 -0800)]
node-editor: fix length of text during save
The length parameter for g_file_replace_contents() is a gsize, so -1 is
unsuitable here. Just use strlen() directly.
Matthias Clasen [Tue, 17 Nov 2020 19:25:05 +0000 (19:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3278
See merge request GNOME/gtk!2856
Matthias Clasen [Tue, 17 Nov 2020 19:24:47 +0000 (19:24 +0000)]
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
inspector: handle differences in DPI between backends
See merge request GNOME/gtk!2857
vanadiae [Tue, 17 Nov 2020 19:14:51 +0000 (20:14 +0100)]
doc: Adapt GtkPackType documentation to GTK4 changes
Since GTK4, the functions that used the GtkPackType enumeration,
`gtk_box_pack_{start,end}`, were replaced by `gtk_box_{append,prepend}`,
hence this enumeration isn't used anymore by any function within the
GtkBox type, and the child packing properties were also removed for GTK4.
So this commit adapts the documentation accordingly.
Benjamin Otte [Tue, 17 Nov 2020 19:08:01 +0000 (19:08 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!2855
Christian Hergert [Tue, 17 Nov 2020 18:45:25 +0000 (10:45 -0800)]
inspector: handle differences in DPI between backends
This fixes an issue on macOS where the text gets much larger once opening
the inspector.
Matthias Clasen [Tue, 17 Nov 2020 18:33:59 +0000 (13:33 -0500)]
inspector: Limit the width of readonly properties
For readonly properties, we show the serialized value
in a label. If we don't take precautions, this can cause
our window to grow extremely wide, and break things.
So, ellipsize things at a reasonable size.
Fixes: #3278
Benjamin Otte [Wed, 11 Nov 2020 00:34:37 +0000 (01:34 +0100)]
snapshot: Add cleanup function to snapshot state
Otherwise we're leaking data in error cases.
Benjamin Otte [Mon, 16 Nov 2020 23:59:36 +0000 (00:59 +0100)]
rendernode: Rename all gsk_render_node_peek_*() functions
Those are getters, they should be gsk_render_node_get_*() functions.
Benjamin Otte [Sun, 8 Nov 2020 14:42:11 +0000 (15:42 +0100)]
tests: Fix for new tranfer behavior of constructors
We were still unreffing a listmodel where the reference wasn't ours
anymore.
Benjamin Otte [Tue, 17 Nov 2020 18:03:18 +0000 (19:03 +0100)]
testsuite: Make defaultvalue test always get the property
Make the test not skip properties completely, just skip checking the
property.
This caught the last 2 commits.